﻿using System;
using System.Collections.Generic;

namespace ObjectPool
{
    /// <summary>
    /// 释放对象过滤函数
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <param name="candidateObjects">需要释放的对象集合</param>
    /// <param name="toReleaseCount">需要释放的对象数量</param>
    /// <param name="expireTime">对象过期参考时间</param>
    /// <returns>返回需要释放的对象集合</returns>
    public delegate List<T> ReleaseObjectFilterCallback<T>(List<T> candidateObjects, int toReleaseCount,
        DateTime expireTime) where T : ObjectBase;
}